/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import Entidades.EntInstructor;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;


/**
 *
 * @author Usuario
 */
public class DAOInstructor {
    
     public int registrarInstructor(Connection c, EntInstructor instructor) {
        
          String sql = InstructorSqlHelper.registrarInstructor();
        int resultado = 0;
        try {
            PreparedStatement st = c.prepareStatement(sql);
                    
                    st.setString(1,instructor.getNumeroDoc());
                    st.setString(2,instructor.getTipoInstructor());
                    st.setString(3,instructor.getHorarios());
                    st.setString(4,instructor.getTipoContrato());
                    
                     resultado = st.executeUpdate();   
             } catch (SQLException ex) {
            Logger.getLogger(DAOInstructor.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                c.close();
            } catch (SQLException ex) {
                Logger.getLogger(DAOInstructor.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        return resultado;
    }
     
     
      public EntInstructor buscarInstructor(Connection c, String instructor) {
        EntInstructor busca = new EntInstructor();

        try {
            PreparedStatement cl = c.prepareStatement(InstructorSqlHelper.buscarInstructor(instructor));
            ResultSet rs = cl.executeQuery();

            if (rs.next()) {
                
          
            } else {
               
                busca = null;
            }
        } catch (Exception e) {
            e.printStackTrace();
             
            return busca;

        } finally {
            try {
                c.close();
            } catch (Exception ex) {
            }

        }

        return busca;
    }
      
       public int Modificar(Connection c, EntInstructor instructor) {
        String sql = InstructorSqlHelper.Modificar();
        int resultado = 0;
        try {
            PreparedStatement st = c.prepareStatement(sql);           
           
            
         
            resultado = st.executeUpdate();

        } catch (SQLException ex) {
            Logger.getLogger(DAOInstructor.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                c.close();
            } catch (SQLException ex) {
                Logger.getLogger(DAOInstructor.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        return resultado;
    }
    
        public int Eliminar(Connection c, EntInstructor instructor) {
        String sql =InstructorSqlHelper.Eliminar();
        int resultado = 0;
        try {
            PreparedStatement st = c.prepareStatement(sql);
            st.setString(1, instructor.getNumeroDoc());
             st.execute();

        } catch (SQLException ex) {
            Logger.getLogger(DAOInstructor.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            try {
                c.close();
            } catch (SQLException ex) {
                Logger.getLogger(DAOInstructor.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        return resultado;

    }
        
         public List<EntInstructor> listarInstructores(Connection c) {
        String sql = InstructorSqlHelper.listar();
        List<EntInstructor> lstInstructores = new ArrayList<EntInstructor>();
        try {
            PreparedStatement st = c.prepareStatement(sql);
            ResultSet rs = st.executeQuery();

            while (rs.next()) {
                EntInstructor instructor = new EntInstructor();
                
              
               
                lstInstructores.add(instructor);
            }
        } catch (SQLException ex) {
            Logger.getLogger(DAOInstructor.class.getName()).log(Level.SEVERE, null, ex);
        }
        return lstInstructores;
            }
}
